package com.qch.edu.Tree;

/**
 * @Author qch
 * @Date 2021/3/13
 * eg:
 *      1
 *   2      3
 * 4   5  6  7
 * 先：头左右  1 2 4 5 3 6 7  第一次到达这个节点就打印
 *   非递归实现：栈（Stack）-》 1）弹出打印 2）如有右 ，压入右 2）如有左 ，压入左
 *
 * 中：左头右        4 2 5 1 6 3 7        第二次到达这个节点就打印
 *  *   非递归实现：栈（Stack）-》 1）整条左边界依次入栈，2）1）无法继续后弹出节点就打印，然后来到右树上继续执行条件1
 * 1->2->4 4弹出-》去4右树，右树为空弹出2，去2的右树，  -》5  左数为空5弹出并打印，右树为空1弹出—>3->6入-》左为空6弹出，右为空，3弹出，-》去7
 * stack.peek() 栈顶
 *
 * 后：左右头        4 5 2 6 7 3 1        第三次到达这个节点就打印
 * *   非递归实现：栈（Stack）-》 1）先压头 2）如有左 ，压入左 3）如有右 ，压入右 （头右左——》（逆序左右头））
 *                                 4）准备另一个栈，依次放进去，再弹出
 * 递归序列，每个节点都会到达3次，因为递归序才能实现先中后
 *
 */

public class BianliTree {
}
